The invention described herein relates generally to methods for accessing hardware component information. More particularly, the invention relates to a method for accessing hardware component information without passing through an operating system controlling the component""s interaction via a remote application.
A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to reproduction of the patent document or patent disclosure as it appears in the Patent and Trademark Office, patent file or records, but otherwise reserves all copyright rights whatsoever.
This application includes two identical compact discs, each containing one file named xe2x80x9cP8069 Computer Program Listing Appendixxe2x80x9d, created on Jul. 16, 2003, size 100,421 bytes, the contents of which is hereby incorporated by reference in its entirety.
Efforts exist in the computer server industry to develop standards for accessing hardware components in a computer system. The focus of these efforts is to create manageable hardware building blocks that share management data through a standard interface. One goal of developing such a standard is to enable a plug-and-play-type architecture for hardware similar to that which is available for software.
One standard for accessing hardware components, known as the Intelligent Platform Management Interface (IPMI), enables construction of scalable systems and utilization of modular building blocks (such as baseboards, extension boards, chassis, peripherals, etc.) from multiple vendors, while creating completely manageable system. By providing built-in management capabilities, a total cost of ownership for servers and computer systems may be significantly reduced. Often, these costs are hidden from consumers until after acquisition, thereby making them particularly invidious. IPMI-compliant hardware provides data regarding hardware components to software components on a managed computer system. The IMPI interface is a basis for gathering significant amounts of management data required by hardware developers.
Referring to FIG. 1, remote management of an IPMI-compliant server (comprised of IPMI-enabled hardware components) is possible today through the host instrumentation executing on the server operating system otherwise controlling the operation and interaction fo the hardware components. Several standards like the Desktop Management Interface (DMI), Common Information Model (CIM) and Simple Network Management Protocol (SNMP) define standard frameworks to access the management data through the operating system-based services.
On some server systems, it is also possible for the IPMI data to be accessed (known as xe2x80x9cout-of-bandxe2x80x9d access) without passing through the server operating system, using a User Datagram Protocol (UDP) messaging format. This out-of-band access is available via modem, serial and local area network (LAN) connections. However, there are no mechanisms to enable remote access, such as true web-based access to this management data. The remote access mechanisms used today are limited to intranets and do not work well across large distributed networks, such as the Internet, due to the presence of firewalls and their concomitant variability. In order to make the IPMI data available to the ubiquitous Internet web-browser applications, there is a need to devise a new architecture to enable this access.
Another effort exists to make hardware components (e.g., processors, chipsets, devices), baseboards and systems completely manageable. One goal of this effort is to reduce the total cost of ownership of computer systems. One implementation of this effort exists through the Desktop Management Interface (DMI) that is becoming available on most major operating systems.
DMI is a standard that defines an inherently open framework for building manageability into desktop systems and servers. The DMI interface provides component vendors a consistent and non-proprietary way to make their products manageable. Numerous vendors have made their hardware and software products DMI-enabled, and management applications have leveraged DMI as part of their value-added capability. DMI includes a format for describing management functions, a service provider entity and two sets of application programming interfaces (APIs). One set of APIs is provided for service providers and management applications to interact, and another set of APIs are provided for service providers and instrumentation (or instrumentation software) to interact. DMI also provides a set of services for facilitating remote communication.
Turning to FIG. 2, DMI procedural interfaces are designed to be remotely accessible through the use of Remote Procedure Calls (RPCs) from a remote management application. The RPCs supported by the DMI include The Open Group""s Distributed Computing Environment RPC (DCE/RPC), Sun Microsystems"" Open Network Computing RPC (ONC/RPC) and Sun Microsystems"" Transport Independent RPC (TI/RPC). The RPC interfaces defined by the standards are being used today. However, the RPC mechanisms are limited to intranets and do not work well across large, distributed networks, such as the Internet due in part to the presence of firewalls. Security for the access to the DMI data is also an issue, while accessing the DMI data via the RPC mechanisms. Consequently, DMI data is not available to the ubiquitous Internet Web-browser applications.
The present invention is therefore directed to the problem of developing a method and apparatus for accessing hardware component information without passing through the operating system, yet does so over large, distributed networks, such as the Internet, which networks potentially include firewalls, thereby making hardware component information accessible to Internet Web-browser applications.
The present invention solves this problem by providing a web-based browser adapter that converts web-based instructions to hardware component based instructions and converts hardware component information and data to a web-based browser compatible format.